package com.xindacloud.sms.portal.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "提交短信DTO")
public class SubmitMessageDTO implements Serializable {

    @ApiModelProperty(value = "发送目标号码", name = "recipientList", required = true)
    @NotNull(message = "发送目标号码不能为空")
    private List<String> recipientList;
    @ApiModelProperty(value = "发送短信内容,当编码为GSM编码时字符控制为160个字符超过160个字符，messageCount累计加1,当编码为UNICODE时字符控制为70个为一条短信，超过70 messageCount累计加1", name = "messageBody", required = true)
    @NotBlank(message = "发送消息不能为空")
    private String messageBody;
    @ApiModelProperty(value = "发送短信内容条数", name = "messageCount", example = "1")
    private Integer messageCount = 1;
    @ApiModelProperty(value = "发送消息编码", name = "encoding", required = true, allowableValues = "GSM,UNICODE")
    @NotBlank(message = "发送消息编码不能为空")
    private String encoding;
    /*@ApiModelProperty(value = "项目ID", name = "projectId", required = true)
    @NotBlank(message = "项目ID不能为空")
    private String projectId;*/
    @ApiModelProperty(value = "发送短信类型,single(单发), mass(群发)", name = "smsType", allowableValues = "single,mass")
    private String smsType;
    @ApiModelProperty(value = "发件人", name = "sender", required = true)
    @NotBlank(message = "发件人不能为空")
    private String sender;

}
